RF: Use scipy.interpolate.BSpline to construct spline basis #393
+33
−31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This builds on and replaces #388. The additional padding broke our ability to reconstruct the field, as we were estimating more parameters but not actually saving them.
This PR maintains the current functionality and paves the way for implementing the Jacobian (#391) by using
BSpline()
objects directly instead of throughBSpline.design_matrix()
. I also restore the use of awithin_support
mask, which significantly decreases the runtime ofunwarp_wf.resample
nodes. There is little effect onbs_filter
nodes, as we downsample to a low enough resolution to make the fit process very quick already.